/*
Date:20210530 11:41AM
*/
class Solution {
public:
    string maxValue(string n, int x) 
    {
    char x1=to_string(x)[0];
    if(n[0]=='-')
    {
        n.erase(n.begin(),n.begin()+1);
        //cout<<n;
        for(int i=0;i<n.size();i++)
        {
            if(i==0)
            {
                if(x1<=n[0])
                {n=x1+n;
                return '-'+n;}
            }
            else
            {
                if(n[i-1]<x1&&x1<n[i])
                {
                    n.insert(n.begin()+i,x1);
                    n='-'+n;
                    return n;
                }
            }
            
        }
        n=n+x1;
                    return '-'+n;
    }
    else
    {
        
        for(int i=0;i<n.size();i++)
        {
            if(i==0)
            {
                if(x1>=n[0]){return x1+n;}
            }
            else
            {//cout<<n.size();
                if(n[i-1]>x1&&x1>n[i])
                {
                    n.insert(n.begin()+i,x1);
                    
                    return n;
                }
            }
            //
        }
        return n+x1;
    }
    return n;
    }
};